/************************************************************
 * 文件名: addfrienddialog.h
 * 功能描述: 添加好友对话框的声明，包含搜索、结果展示、添加好友等功能。
 * 作者: 李强
 * 创建日期: [请填写日期]
 * 修改历史: 
 ************************************************************/

#ifndef ADDFRIENDDIALOG_H
#define ADDFRIENDDIALOG_H

#include <QDialog>
#include <QGridLayout>
#include <QLineEdit>

#include "model/data.h"
using model::UserInfo;

///////////////////////////////////////
/// 表示一个好友搜索的结果
///////////////////////////

class FriendResultItem : public QWidget {
    Q_OBJECT
public:
    FriendResultItem(const UserInfo& userInfo);

private:
    const UserInfo& userInfo;
};


///////////////////////////////////////
/// 整个搜索好友的窗口
///////////////////////////
class AddFriendDialog : public QDialog

{
    Q_OBJECT
public:
    AddFriendDialog(QWidget* parent);

    //初始化结果显示区
    void initResultArea();

    //王窗口中新增一个好友搜索结果
    void addResult(const UserInfo& userInfo);

    //清空界面上所有的好友结果
    void clear();

    void setSearchKey(const QString& searchKey);

private:
    //整个窗口总的网格布局
    QGridLayout* layout;

    //保存搜索好友的结果
    QWidget*  resultContainer;

    QLineEdit*  searchEdit;
};

#endif // ADDFRIENDDIALOG_H
